/*
 * @Author: youngqj youngqj@126.com
 * @Date: 2024-10-21 17:46:14
 * @LastEditors: youngqj youngqj@126.com
 * @LastEditTime: 2024-11-01 22:25:45
 * @FilePath: /go/mallSystem/internal/config/config.go
 * @Description:
 *
 * Copyright © Zhejiang Xiaoqu Information Technology Co., Ltd, All Rights Reserved.
 */

package config

import (
	"fmt"
	"os"

	"github.com/spf13/viper"
)

// type Config struct {
// 	//systemConfig  siteConfig `yaml:config`
// 	MySQL []MySQLConfig `yaml:"mysql"` // MySQL 配置数组
// 	//Postgres PostgresConfig `yaml:"postgres"`
// 	//MongoDB  MongoDBConfig  `yaml:"mongodb"`

// 	Redis    RedisConfig    `yaml:"redis"`
// 	RabbitMQ RabbitMQConfig `yaml:"rabbitmq"`
// }

func LoadConfig(configPath string) (*viper.Viper, error) {
	_, err := os.ReadFile(configPath)
	if os.IsNotExist(err) {
		return nil, fmt.Errorf("配置文件不存在: %s", configPath)
	}
	v := viper.New()
	v.SetConfigFile(configPath)
	v.SetConfigType("yaml")
	//读取配置文件
	if err := v.ReadInConfig(); err != nil {
		return nil, fmt.Errorf("解析配置文件错误: %v", err)
	}
	return v, nil

}

func GetConfig(configKey string, v *viper.Viper) interface{} {
	config := v.Get(configKey)
	return config

}
